package com.jrx.anytxn.transaction.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 还款流水表 
 * 表:tl_payment_log 
 * @author user 
 * @date 2022-11-28 
 */
public class TlPaymentLog {
    /**
     * 主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 流水号
     * 表字段:seq_no
     */
    private String seqNo;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 还款类型(pay = 正常还款 prepay = 提前还款  prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款)
     * 表字段:payment_type
     */
    private String paymentType;

    /**
     * 扣款种类(0=按订单扣款 1=按客户扣款)
     * 表字段:charge_type
     */
    private String chargeType;

    /**
     * 联合贷标识(0 = 否 1 = 是)
     * 表字段:joint_loan_flag
     */
    private String jointLoanFlag;

    /**
     * 是否足额扣款(0=不足额 1=足额)
     * 表字段:is_full_pay
     */
    private String isFullPay;

    /**
     * 汇款金额
     * 表字段:amount
     */
    private BigDecimal amount;

    /**
     * 客户姓名
     * 表字段:customer_name
     */
    private String customerName;

    /**
     * 扣款行号
     * 表字段:payer_bank
     */
    private String payerBank;

    /**
     * 扣款行名称
     * 表字段:payer_bank_name
     */
    private String payerBankName;

    /**
     * 扣款账号
     * 表字段:payer_account
     */
    private String payerAccount;

    /**
     * 扣款账户类型: 0 = 本行二类户 1 = 本行借记卡 2 = 他行借记卡
     * 表字段:payer_account_type
     */
    private String payerAccountType;

    /**
     * 手机
     * 表字段:mobile
     */
    private String mobile;

    /**
     * 交易说明
     * 表字段:description
     */
    private String description;

    /**
     * 账户可用余额(核心返回)
     * 表字段:avail_balance
     */
    private BigDecimal availBalance;

    /**
     * 币种
     * 表字段:currency
     */
    private String currency;

    /**
     * 现金项目
     * 表字段:cash_item
     */
    private String cashItem;

    /**
     * 生效日期
     * 表字段:effect_date
     */
    private String effectDate;

    /**
     * 还款请求id
     * 表字段:pay_id
     */
    private String payId;

    /**
     * 交易参考号(核心/支付返回)
     * 表字段:ref_no
     */
    private String refNo;

    /**
     * 交易返回码
     * 表字段:return_code
     */
    private String returnCode;

    /**
     * 交易返回信息
     * 表字段:return_msg
     */
    private String returnMsg;

    /**
     * 交易状态
     * 表字段:return_status
     */
    private String returnStatus;

    /**
     * 最终状态 S 成功;F 失败;T 扣款成功，待分配;D 待发起扣款;O 已发起扣款，扣款状态未知，待查询
     * 表字段:sum_status
     */
    private String sumStatus;

    /**
     * 渠道id
     * 表字段:channel
     */
    private String channel;

    /**
     * 子渠道号
     * 表字段:sub_channel
     */
    private String subChannel;

    /**
     * 外部渠道号
     * 表字段:third_channel
     */
    private String thirdChannel;

    /**
     * 业务日期
     * 表字段:business_date
     */
    private Date businessDate;

    /**
     * 对账日期
     * 表字段:collate_date
     */
    private Date collateDate;

    /**
     * 交易发起时间
     * 表字段:launch_time
     */
    private Date launchTime;

    /**
     * 支付完成时间
     * 表字段:complete_time
     */
    private Date completeTime;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 批扣类型
     * 表字段:auto_payment_type
     */
    private String autoPaymentType;

    /**
     * 是否足额还款 0 否 1 是
     * 表字段:settle_flag
     */
    private String settleFlag;

    /**
     * 灰度版本（P生产  G灰度）
     * 表字段:gray_version
     */
    private String grayVersion;

    /**
     * 商户id
     * 表字段:merchant_id
     */
    private String merchantId;

    /**
     * 商户名称
     * 表字段:merchant_name
     */
    private String merchantName;

    /**
     * 获取主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租戶id
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租戶id
     * @param tenantId 租戶id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取流水号
     * @return seqNo String
     */
    public String getSeqNo() {
        return seqNo;
    }

    /**
     * 设置流水号
     * @param seqNo 流水号
     */
    public void setSeqNo(String seqNo) {
        this.seqNo = seqNo;
    }

    /**
     * 获取客户id
     * @return customerId String
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户id
     * @param customerId 客户id
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取产品id
     * @return productId String
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 设置产品id
     * @param productId 产品id
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 获取还款类型(pay = 正常还款 prepay = 提前还款  prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款)
     * @return paymentType String
     */
    public String getPaymentType() {
        return paymentType;
    }

    /**
     * 设置还款类型(pay = 正常还款 prepay = 提前还款  prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款)
     * @param paymentType 还款类型(pay = 正常还款 prepay = 提前还款  prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款)
     */
    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    /**
     * 获取扣款种类(0=按订单扣款 1=按客户扣款)
     * @return chargeType String
     */
    public String getChargeType() {
        return chargeType;
    }

    /**
     * 设置扣款种类(0=按订单扣款 1=按客户扣款)
     * @param chargeType 扣款种类(0=按订单扣款 1=按客户扣款)
     */
    public void setChargeType(String chargeType) {
        this.chargeType = chargeType;
    }

    /**
     * 获取联合贷标识(0 = 否 1 = 是)
     * @return jointLoanFlag String
     */
    public String getJointLoanFlag() {
        return jointLoanFlag;
    }

    /**
     * 设置联合贷标识(0 = 否 1 = 是)
     * @param jointLoanFlag 联合贷标识(0 = 否 1 = 是)
     */
    public void setJointLoanFlag(String jointLoanFlag) {
        this.jointLoanFlag = jointLoanFlag;
    }

    /**
     * 获取是否足额扣款(0=不足额 1=足额)
     * @return isFullPay String
     */
    public String getIsFullPay() {
        return isFullPay;
    }

    /**
     * 设置是否足额扣款(0=不足额 1=足额)
     * @param isFullPay 是否足额扣款(0=不足额 1=足额)
     */
    public void setIsFullPay(String isFullPay) {
        this.isFullPay = isFullPay;
    }

    /**
     * 获取汇款金额
     * @return amount BigDecimal
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * 设置汇款金额
     * @param amount 汇款金额
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    /**
     * 获取客户姓名
     * @return customerName String
     */
    public String getCustomerName() {
        return customerName;
    }

    /**
     * 设置客户姓名
     * @param customerName 客户姓名
     */
    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    /**
     * 获取扣款行号
     * @return payerBank String
     */
    public String getPayerBank() {
        return payerBank;
    }

    /**
     * 设置扣款行号
     * @param payerBank 扣款行号
     */
    public void setPayerBank(String payerBank) {
        this.payerBank = payerBank;
    }

    /**
     * 获取扣款行名称
     * @return payerBankName String
     */
    public String getPayerBankName() {
        return payerBankName;
    }

    /**
     * 设置扣款行名称
     * @param payerBankName 扣款行名称
     */
    public void setPayerBankName(String payerBankName) {
        this.payerBankName = payerBankName;
    }

    /**
     * 获取扣款账号
     * @return payerAccount String
     */
    public String getPayerAccount() {
        return payerAccount;
    }

    /**
     * 设置扣款账号
     * @param payerAccount 扣款账号
     */
    public void setPayerAccount(String payerAccount) {
        this.payerAccount = payerAccount;
    }

    /**
     * 获取扣款账户类型: 0 = 本行二类户 1 = 本行借记卡 2 = 他行借记卡
     * @return payerAccountType String
     */
    public String getPayerAccountType() {
        return payerAccountType;
    }

    /**
     * 设置扣款账户类型: 0 = 本行二类户 1 = 本行借记卡 2 = 他行借记卡
     * @param payerAccountType 扣款账户类型: 0 = 本行二类户 1 = 本行借记卡 2 = 他行借记卡
     */
    public void setPayerAccountType(String payerAccountType) {
        this.payerAccountType = payerAccountType;
    }

    /**
     * 获取手机
     * @return mobile String
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置手机
     * @param mobile 手机
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * 获取交易说明
     * @return description String
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置交易说明
     * @param description 交易说明
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取账户可用余额(核心返回)
     * @return availBalance BigDecimal
     */
    public BigDecimal getAvailBalance() {
        return availBalance;
    }

    /**
     * 设置账户可用余额(核心返回)
     * @param availBalance 账户可用余额(核心返回)
     */
    public void setAvailBalance(BigDecimal availBalance) {
        this.availBalance = availBalance;
    }

    /**
     * 获取币种
     * @return currency String
     */
    public String getCurrency() {
        return currency;
    }

    /**
     * 设置币种
     * @param currency 币种
     */
    public void setCurrency(String currency) {
        this.currency = currency;
    }

    /**
     * 获取现金项目
     * @return cashItem String
     */
    public String getCashItem() {
        return cashItem;
    }

    /**
     * 设置现金项目
     * @param cashItem 现金项目
     */
    public void setCashItem(String cashItem) {
        this.cashItem = cashItem;
    }

    /**
     * 获取生效日期
     * @return effectDate String
     */
    public String getEffectDate() {
        return effectDate;
    }

    /**
     * 设置生效日期
     * @param effectDate 生效日期
     */
    public void setEffectDate(String effectDate) {
        this.effectDate = effectDate;
    }

    /**
     * 获取还款请求id
     * @return payId String
     */
    public String getPayId() {
        return payId;
    }

    /**
     * 设置还款请求id
     * @param payId 还款请求id
     */
    public void setPayId(String payId) {
        this.payId = payId;
    }

    /**
     * 获取交易参考号(核心/支付返回)
     * @return refNo String
     */
    public String getRefNo() {
        return refNo;
    }

    /**
     * 设置交易参考号(核心/支付返回)
     * @param refNo 交易参考号(核心/支付返回)
     */
    public void setRefNo(String refNo) {
        this.refNo = refNo;
    }

    /**
     * 获取交易返回码
     * @return returnCode String
     */
    public String getReturnCode() {
        return returnCode;
    }

    /**
     * 设置交易返回码
     * @param returnCode 交易返回码
     */
    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode;
    }

    /**
     * 获取交易返回信息
     * @return returnMsg String
     */
    public String getReturnMsg() {
        return returnMsg;
    }

    /**
     * 设置交易返回信息
     * @param returnMsg 交易返回信息
     */
    public void setReturnMsg(String returnMsg) {
        this.returnMsg = returnMsg;
    }

    /**
     * 获取交易状态
     * @return returnStatus String
     */
    public String getReturnStatus() {
        return returnStatus;
    }

    /**
     * 设置交易状态
     * @param returnStatus 交易状态
     */
    public void setReturnStatus(String returnStatus) {
        this.returnStatus = returnStatus;
    }

    /**
     * 获取最终状态 S 成功;F 失败;T 扣款成功，待分配;D 待发起扣款;O 已发起扣款，扣款状态未知，待查询
     * @return sumStatus String
     */
    public String getSumStatus() {
        return sumStatus;
    }

    /**
     * 设置最终状态 S 成功;F 失败;T 扣款成功，待分配;D 待发起扣款;O 已发起扣款，扣款状态未知，待查询
     * @param sumStatus 最终状态 S 成功;F 失败;T 扣款成功，待分配;D 待发起扣款;O 已发起扣款，扣款状态未知，待查询
     */
    public void setSumStatus(String sumStatus) {
        this.sumStatus = sumStatus;
    }

    /**
     * 获取渠道id
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道id
     * @param channel 渠道id
     */
    public void setChannel(String channel) {
        this.channel = channel;
    }

    /**
     * 获取子渠道号
     * @return subChannel String
     */
    public String getSubChannel() {
        return subChannel;
    }

    /**
     * 设置子渠道号
     * @param subChannel 子渠道号
     */
    public void setSubChannel(String subChannel) {
        this.subChannel = subChannel;
    }

    /**
     * 获取外部渠道号
     * @return thirdChannel String
     */
    public String getThirdChannel() {
        return thirdChannel;
    }

    /**
     * 设置外部渠道号
     * @param thirdChannel 外部渠道号
     */
    public void setThirdChannel(String thirdChannel) {
        this.thirdChannel = thirdChannel;
    }

    /**
     * 获取业务日期
     * @return businessDate Date
     */
    public Date getBusinessDate() {
        return businessDate;
    }

    /**
     * 设置业务日期
     * @param businessDate 业务日期
     */
    public void setBusinessDate(Date businessDate) {
        this.businessDate = businessDate;
    }

    /**
     * 获取对账日期
     * @return collateDate Date
     */
    public Date getCollateDate() {
        return collateDate;
    }

    /**
     * 设置对账日期
     * @param collateDate 对账日期
     */
    public void setCollateDate(Date collateDate) {
        this.collateDate = collateDate;
    }

    /**
     * 获取交易发起时间
     * @return launchTime Date
     */
    public Date getLaunchTime() {
        return launchTime;
    }

    /**
     * 设置交易发起时间
     * @param launchTime 交易发起时间
     */
    public void setLaunchTime(Date launchTime) {
        this.launchTime = launchTime;
    }

    /**
     * 获取支付完成时间
     * @return completeTime Date
     */
    public Date getCompleteTime() {
        return completeTime;
    }

    /**
     * 设置支付完成时间
     * @param completeTime 支付完成时间
     */
    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

    /**
     * 获取批扣类型
     * @return autoPaymentType String
     */
    public String getAutoPaymentType() {
        return autoPaymentType;
    }

    /**
     * 设置批扣类型
     * @param autoPaymentType 批扣类型
     */
    public void setAutoPaymentType(String autoPaymentType) {
        this.autoPaymentType = autoPaymentType;
    }

    /**
     * 获取是否足额还款 0 否 1 是
     * @return settleFlag String
     */
    public String getSettleFlag() {
        return settleFlag;
    }

    /**
     * 设置是否足额还款 0 否 1 是
     * @param settleFlag 是否足额还款 0 否 1 是
     */
    public void setSettleFlag(String settleFlag) {
        this.settleFlag = settleFlag;
    }

    /**
     * 获取灰度版本（P生产  G灰度）
     * @return grayVersion String
     */
    public String getGrayVersion() {
        return grayVersion;
    }

    /**
     * 设置灰度版本（P生产  G灰度）
     * @param grayVersion 灰度版本（P生产  G灰度）
     */
    public void setGrayVersion(String grayVersion) {
        this.grayVersion = grayVersion;
    }

    /**
     * 获取商户id
     * @return merchantId String
     */
    public String getMerchantId() {
        return merchantId;
    }

    /**
     * 设置商户id
     * @param merchantId 商户id
     */
    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    /**
     * 获取商户名称
     * @return merchantName String
     */
    public String getMerchantName() {
        return merchantName;
    }

    /**
     * 设置商户名称
     * @param merchantName 商户名称
     */
    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }
}